实验 类的继承编程练习 |
您所在的位置:网站首页 › 姓名 性别 出生年月 › 实验 类的继承编程练习 |
一、实验目的 1.掌握父类的定义方法 2.掌握子类的定义方法 3.掌握继承的使用方式 二、实验硬、软件环境 Windows计算机和Eclipse软件 三、实验内容及步骤 1. 现在个电子宠物系统,父类Pet,子类Dog和Penguin,要求子类继承父类,并重写父类方法,并打印宠物信息。
代码及运行结果如下: 父类: package 实验六; public class Pet { private String name; private int health;//健康值 private int love;//亲密度 public Pet() { }//无参的构造方法 public Pet(String name,int health,int love) { this.name = name; this.health = health; this.love = love;} public String getName() { return name;} public void setName(String name) { this.name = name;} public int getHealth() { return health;} public void setHealth(int health) { this.health = health;} public int getLove() { return love;} public void setLove(int love) { this.love = love;} void show() { System.out.print("宠物的自我介绍:\n我的名字叫"+getName()+ ",健康值是"+getHealth()+ ",和主人的亲密度是"+getLove());}} 子类: package 实验六; public class Dog extends Pet { private String strain;//strain-品种 public Dog() {} public String getStrain() { return strain;} public void setStrain(String strain) { this.strain = strain;} void show() { super.show(); System.out.println(",我的品种是"+getStrain());}} package 实验六; public class Penguin extends Pet{//企鹅 private String sex; public Penguin(){} public String getSex() { return sex;} public void setSex(String sex) { this.sex = sex;} void show() { super.show(); System.out.println(",我的性别是"+getSex());}} 测试类: package 实验六; public class 实验六 { public static void main(String[] args) { // TODO Auto-generated method stub Dog dog = new Dog(); dog.setName("marry"); dog.setHealth(100); dog.setLove(93); dog.setStrain("金毛"); dog.show(); Penguin penguin = new Penguin(); penguin.setName("胖胖"); penguin.setHealth(98); penguin.setLove(78); penguin.setSex("公"); penguin.show();}} 2.假设教师工作证包括编号、姓名、性别、出生年月、职务和签发时间;学生证包括编号、姓名、性别、出生年月、系别、入校时间。请为教师工作证与学生工作证设计一个类结构,尽可能保证代码的复用率,并输出教师工作证和学生工作证信息。 代码如下: 父类: package 实验六; public class 证 { private int bianhao; private String name; private String sex; private String brithday; public 证() {} public 证(String name,String sex, String brithday) { this.name = name; this.sex = sex; this.brithday = brithday;} public int getBianhao() { return bianhao;} public void setBianhao(int bianhao) { this.bianhao = bianhao;} public String getName() { return name;} public void setName(String name) { this.name = name;} public String getSex() { return sex;} public void setSex(String sex) { this.sex = sex;} public String getBrithday() { return brithday;} public void setBrithday(String brithday) { this.brithday = brithday;} void show() { System.out.print("\n编号: "+getBianhao()+" 姓名: "+getName()+" 性别"+getSex()+" 出生年月: "+getBrithday());}} 子类: package 实验六; public class 教师工作证 extends 证 { private String post;//职务 private String timefiled;//签发时间 public 教师工作证() { } public 教师工作证(String post,String timefiled) { this.post = post; this.timefiled = timefiled;} public String getPost() { return post;} public void setPost(String post) { this.post = post;} public String getTimefiled() { return timefiled;} public void setTimefiled(String timefiled) { this.timefiled = timefiled;} void show() { super.show(); System.out.println(" \n职务: "+getPost()+" 签发时间: "+getTimefiled());}} package 实验六; public class 学生证 extends 证 { private String dept; private String ruxiaoshijian; public 学生证() { } public String getDept() { return dept;} public void setDept(String dept) { this.dept = dept;} public String getRuxiaoshijian() { return ruxiaoshijian;} public void setRuxiaoshijian(String ruxiaoshijian) { this.ruxiaoshijian = ruxiaoshijian;} void show() { super.show(); System.out.println("\n系别: "+getDept()+" 入学时间:"+getRuxiaoshijian());}} 测试类: package 实验六; public class 实验七 { public static void main(String[] args) { // TODO Auto-generated method stub 教师工作证 teacher = new 教师工作证(); teacher.setBianhao(106); teacher.setName("肖小"); teacher.setSex("男生"); teacher.setBrithday("1987年6月9日"); teacher.setPost("主任"); teacher.setTimefiled("2001年9月1日"); teacher.show(); 学生证 student = new 学生证(); student.setBianhao(221); student.setName("竹狄"); student.setSex("女生"); student.setBrithday("1987年6月9日"); student.setDept("计算机"); student.setRuxiaoshijian("2002年8月1日"); student.show();}} 3.定义一个人的类,属性有名字、年龄,写一个能输出各个属性值的方法showinfo()。定义一个学生类,属性有性别。学生类继承人类。 要求: 父类的属性赋值用构造方法来实现(分别用有参数构造方法和无参数构造方法实现)。子类的属性也用构造方法来赋值。在子类中重写父类的showinfo()方法。声明学生类的对象,调用学生的显示信息的方法。代码如下: 父类: package 实验六; public class 人 { private String name; private int age; public 人() { }//无参的构造方法 public 人(String name,int age) { this.name = name; this.age = age; } public String getName() { return name;} public void setName(String name) { this.name = name;} public int getAge() { return age;} public void setAge(int age) { this.age = age;} void showinfo() { System.out.println("学生姓名:"+getName()+" 年龄:"+getAge());}} 子类: package 实验六; public class 学生类 extends 人 { String sex; public 学生类() { } public String getSex() { return sex;} public void setSex(String sex) { this.sex = sex;} void showinfo() { super.showinfo(); System.out.print(" 性别:"+getSex());}} 测试类: package 实验六; public class 实验六3 { public static void main(String[] args) { // TODO Auto-generated method stub 学生类 student = new 学生类(); student.setName("张之"); student.setAge(16); student.setSex("女生"); student.showinfo();}} 4.父类Employee的属性包括name、sex,带一个构造方法Employee(String n,char s)。子类Worker继承自Employee,属性包括类别char category、是否提供服装津贴boolean dressAllowance,有一个构造方法负责构造所有属性,还有一个自定义方法isDressAll(),这个方法负责通过判断dressAllowance的值输出决定是否提供服装津贴。 代码如下: 父类: package 实验六; public class Employee { String name; char sex; public Employee(){} public Employee(String n,char s) { this.name = n; this.sex = s;} } 子类: package 实验六; public class Worker extends Employee{ char category; boolean dressAllowance; public Worker() {} public Worker(String n,char s,char category,boolean dressAllowance) { this.name = n; this.sex = s; this.category = category; this.dressAllowance = dressAllowance;} void isDressAll() { if(dressAllowance) { System.out.println("提供服装津贴"); }else { System.out.println("不提供服装津贴");}}} 测试类: package 实验六; public class 实验六4 { public static void main(String[] args) { Worker worker = new Worker("李昀",'男','a',true); worker.isDressAll();}} |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |